0f3a6cd2935b1f6db7531a3e1c604de26e80f2db,processor/src/main/java/org/derive4j/processor/derivator/patternmatching/PartialMatchingStepDerivator.java,PartialMatchingStepDerivator,partialMatchingStepTypeSpec,#AlgebraicDataType#List#DataConstructor#List#,67

Before Change


        .superclass(
            ParameterizedTypeName.get(adt.deriveConfig().targetClass().className().nestedClass(otherwiseBuilderClassName()),
                matcherVariables(adt).map(TypeVariableName::get).toArray(TypeName[]::new)))
        .addMethod(MethodSpec.constructorBuilder()
            .addModifiers(Modifier.PRIVATE)
            .addParameters(previousConstructors.stream()
                .map(dc -> ParameterSpec.builder(mapperDerivator.mapperTypeName(adt, dc), mapperFieldName(dc)).build())
                .collect(Collectors.toList()))
            .addStatement("super($L)", joinStringsAsArguments(

After Change


        .addModifiers(Modifier.PUBLIC, Modifier.STATIC)
        .addTypeVariables(matcherVariables(adt).map(TypeVariableName::get).collect(toList()))
        .superclass(nextStepTypeName)
        .addMethod(MethodSpec.constructorBuilder()
            .addParameters(previousConstructors.stream()
                .map(dc -> ParameterSpec.builder(mapperDerivator.mapperTypeName(adt, dc), mapperFieldName(dc)).build())
                .collect(toList()))
            .addStatement("super($L)", joinStringsAsArguments(